import JSEncrypt from 'jsencrypt'

// 与后端解密私钥对应
const publicKey = process.env.VUE_APP_PUBLICK_KEY

// 与后端加密公钥对应
const privateKey = process.env.VUE_APP_PRIVATE_KEY

/**
 * 加密
 * @param {string} str
 * @returns {string}
 */
export function encrypt(str) {
  const jsencrypt = new JSEncrypt()
  jsencrypt.setPublicKey(publicKey)

  const encrypted = jsencrypt.encrypt(str)
  if (!encrypted) {
    console.error('加密失败')
    return null
  }
  return encrypted
}

/**
 * 解密
 * @param {string} str
 * @returns {string}
 */
export function decrypt(str) {
  const jsencrypt = new JSEncrypt()
  jsencrypt.setPrivateKey(privateKey)

  const decrypted = jsencrypt.decrypt(str)
  if (!decrypted) {
    console.error('解密失败')
    return null
  }
  return decrypted
}
